package collection02;

import java.util.ArrayList;
import java.util.Collection;

/**
 * JDK1.5新特性:
 *   增强for:
 *     用途:一般是用来遍历数组和集合的
 *         要求集合必须继承或实现Iterable接口
 *     格式:
 *       for(要遍历的容器中元素的类型 变量名 : 数组/集合){
 *              //取出元素
 *       }
 *   注意事项:
 *    1.使用增强for遍历集合其实底层使用的依然是迭代器
 *     while(iterator.hashNext()){
 *         iterator.next();
 *     }
 *   2.使用增强for遍历数组的时候,无法操作数组的索引
 *
 */
public class CollectionDemo03 {
    public static void main(String[] args) {
        //method01();
        Collection c =new ArrayList();
        c.add(13);
        c.add("abc");
        c.add("ef");

        for (Object obj : c){//每次将遍历的元素赋值给了obj变量
            System.out.println(obj);//第一次循环 取出第一个元素 obj=new Integer(13)
                                    //第二次循环  取出第二个元素 obj="abc"
                                   //第三次循环  取出第三个元素 obj="ef"
        }
        System.out.println("----------------");
        for (Object o : c) {
            System.out.println(o);
        }

    }

    private static void method01() {
        int[] arr = {13, 17, 16, 21};
        //使用增强for
        for(int ele : arr){ //每次将遍历的元素赋值给了ele变量
            System.out.println(ele);//第一次循环 取出第一个元素 ele=13
                                   //第二次循环  取出第二个元素 ele=17
                                  //...
                                //最后一次循环 取出最后一个元素 ele=21
        }
      /*  for (int i = 0; i <arr.length ; i++) {
            System.out.println(arr[i]);
        }*/
        /*for (int i : arr) {

        }*/
    }
}
